<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                template="../templates/principal.xhtml">
    <ui:define name="head">


        <script type="text/javascript">
            jQuery(function ($) {
                $("input.data:text").mask("99/99/9999");
                $("input.processo:text").mask("9999-9.999.999-9");
            });

            function handleEmpreendimentoRequest(xhr, status, args) {
                if (args.validationFailed || !args.loggedIn) {
                    PF('confirmation').hide();
                } else {
                    PF('confirmation').hide();
                    PF('empreendimentoDialog').hide();
                }
                
            }
        </script>
    </ui:define>

    <ui:define name="content" id="content">
        <h:form id="frmEmpreendimento">

            <p:panel id="panel" header="BEM VINDO A TRANSFERÊNCIA DE PROCESSOS DOS EMPREENDIMENTOS">
                <p:growl id="messages" life="5000" showDetail="true" showSummary="true" />

                <p:dataTable id="empreendimentoTable" var="empreendimento" value="#{empreendimentoBean.empreendimentoLazyModel}" filterEvent="enter"
                             paginator="true" rows="12" paginatorPosition="top" lazy="true" emptyMessage="Nenhum Registro Retornado ..." resizableColumns="true">

                    <p:column style="width:100px;" headerText="No.Processo" filterBy="#{empreendimento.numProcesso}" filterStyleClass="processo">   
                        <p:rowToggler />
                    </p:column>

                    <p:column style="text-align: left; " filterBy="#{empreendimento.dscEmpreendimento}" sortBy="#{empreendimento.dscEmpreendimento}">
                        <f:facet name="header">
                            <div style="text-align: center">Empreendimento</div>
                        </f:facet>
                        <h:outputText value="#{empreendimento.dscEmpreendimento}" />
                    </p:column>

                    <p:column style="text-align: left; " filterBy="#{empreendimento.idCliente.nomCliente}" sortBy="#{empreendimento.idCliente.nomCliente}">
                        <f:facet name="header">
                            <div style="text-align: center">Razão Social // Nome</div>
                        </f:facet>
                        <h:outputText value="#{empreendimento.idCliente.nomCliente}"/>
                    </p:column>

                    <p:column style="text-align: left; " filterBy="#{empreendimento.idCliente.nomFantasia}" sortBy="#{empreendimento.idCliente.nomFantasia}">
                        <f:facet name="header">
                            <div style="text-align: center">Nome Fantasia / Sobrenome</div>
                        </f:facet>
                        <h:outputText value="#{empreendimento.idCliente.nomFantasia}"/>
                    </p:column>

                    <p:column style="width: 50px;">

                        <p:commandButton id="selectButton" update=":frmEmpreendimento:panel :frmEmpreendimento:panelProcesso :frmEmpreendimento:messages" oncomplete="PF('empreendimentoDialog').show(); PF('empreendimentoDialog').toggleMaximize();" 
                                         icon="ui-icon-search" title="Visualizar // Editar">
                            <f:setPropertyActionListener value="#{empreendimento}" target="#{empreendimentoBean.selectedEmpreendimento}" />
                        </p:commandButton>
                    </p:column>

                    <p:rowExpansion>
                        <p:dataTable id="empreendimentoLoteTable" var="empreendimentoLote" value="#{empreendimento.empreendimentoLoteList}" paginator="true" rows="5" 
                                     paginatorPosition="top" emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter" resizableColumns="true">

                            <p:column style="text-align: left; " sortBy="#{empreendimentoLote.idAssunto.dscAssunto}">
                                <f:facet name="header">
                                    <div style="text-align: center">Assunto</div>
                                </f:facet>
                                <h:outputText value="#{empreendimentoLote.idAssunto.dscAssunto}" />
                            </p:column>

                            <p:column style="text-align: left; " sortBy="#{empreendimentoLote.dscIdLote}">
                                <f:facet name="header">
                                    <div style="text-align: center">Lote</div>
                                </f:facet>
                                <h:outputText value="#{empreendimentoLote.dscIdLote}" />
                            </p:column>

                            <p:column style="text-align: left;" sortBy="#{empreendimentoLote.numProcesso}">
                                <f:facet name="header">
                                    <div style="text-align: center">Numero Processo</div>
                                </f:facet>
                                <h:outputText value="#{empreendimentoLote.numProcesso}" />
                            </p:column>

                            <p:column style="text-align: left; " sortBy="#{empreendimentoLote.dscOrgao}">
                                <f:facet name="header">
                                    <div style="text-align: center">Orgão</div>
                                </f:facet>
                                <h:outputText value="#{empreendimentoLote.dscOrgao}" />
                            </p:column>

                            <p:column style="text-align: center; " headerText="Data do Protocolo" sortBy="#{empreendimentoLote.datProcesso}">
                                <h:outputText value="#{empreendimentoLote.datProcesso}">
                                    <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                                </h:outputText>
                            </p:column>

                            <p:column style="text-align: center; " headerText="Data Ultima Atualização" sortBy="#{empreendimentoLote.datUpdateLote}">
                                <h:outputText value="#{empreendimentoLote.datUpdateLote}">
                                    <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy HH:mm:ss"/>
                                </h:outputText>
                            </p:column>
                        </p:dataTable>
                    </p:rowExpansion>

                </p:dataTable>

                <!-- DETALHES EMPREENDIMENTO -->
                <p:dialog header="DETALHES DO EMPREENDIMENTO #{empreendimentoBean.selectedEmpreendimento.dscEmpreendimento}" widgetVar="empreendimentoDialog" resizable="true" 
                          onHide="PF('empreendimentoDialog').toggleMaximize();" width="1600" id="empreendimentoDlg" showEffect="fade" hideEffect="explode" dynamic="true" maximizable="true" position="left,top">

                    <p:panel id="panelEmpreendimento" style="text-align: left;">
                        <p:panelGrid id="display" style="width: 100%">
                            <p:row>
                                <p:column>
                                    <h:outputText value="* Cliente:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:inputText id="inCliente" value="#{empreendimentoBean.selectedEmpreendimento.idCliente.nomCliente}" 
                                                 readonly="true" style="width:400px; font-weight:bold; " />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="* Tipo:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:selectOneRadio id="slTipo" value="#{empreendimentoBean.selectedEmpreendimento.tipEmpreendimento}">
                                        <f:selectItem itemLabel="Jurídica" itemValue="J" />
                                        <f:selectItem itemLabel="Física" itemValue="F" />
                                        <f:ajax event="change" render="display"/>
                                    </p:selectOneRadio>
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="* C.N.P.J. / C.P.F.:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:inputMask id="inCpf"   
                                                 mask="#{empreendimentoBean.selectedEmpreendimento.tipEmpreendimento == 'F' ? '999.999.999-99' : '99.999.999/9999-99'}"  
                                                 value="#{empreendimentoBean.selectedEmpreendimento.numCpfEmpreendimento}" readonly="true" 
                                                 style="width:200px; font-weight:bold;" />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="Razão Social/Nome:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:inputText id="inRazSoc" value="#{empreendimentoBean.selectedEmpreendimento.dscRazNome}" readonly="true"
                                                 style="width:500px; font-weight:bold; " />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="* Descrição:" />
                                </p:column>
                                <p:column colspan="3">
                                    <p:inputText id="inNome" value="#{empreendimentoBean.selectedEmpreendimento.dscEmpreendimento}" readonly="true"
                                                 style="width:500px; font-weight:bold; " />
                                </p:column>
                            </p:row>

                            <p:row>
                                <p:column>
                                    <h:outputText value="* Status:" />
                                </p:column>
                                <p:column>
                                    <p:inputText value="#{empreendimentoBean.selectedEmpreendimento.dscStaEmpreendimento}" readonly="true"
                                                 style="width:500px; font-weight:bold; " />
                                </p:column>
                            </p:row>

                            <p:row>
                                <!-- ENDERECO -->
                                <p:column colspan="4">
                                    <p:fieldset id="fieldEndereco" legend="ENDEREÇOS" toggleable="true" toggleSpeed="500" style="font-weight:bold;" collapsed="#{empreendimentoBean.enderecoField}">
                                        <p:panel id="panelEndereco">
                                            <p:dataTable id="empreendimentoEnderecoTable" var="empreendimentoEndereco" value="#{empreendimentoBean.selectedEmpreendimento.empreendimentoEnderecoList}" 
                                                         paginator="true" rows="3" paginatorPosition="top" lazy="true" emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                                <p:column style="width:400px; text-align: left; " sortBy="#{empreendimentoEndereco.codLogradouro.dscLogradouro}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">Endereço</div>
                                                    </f:facet>
                                                    <h:outputText value="#{empreendimentoEndereco.codLogradouro.dscLogradouro}" />
                                                </p:column>

                                                <p:column style="width:400px; text-align: left; " sortBy="#{empreendimentoEndereco.numContribuinte}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">No.Contribuinte</div>
                                                    </f:facet>
                                                    <h:outputText value="#{empreendimentoEndereco.numContribuinte}" />
                                                </p:column>

                                                <p:column style="width:50px">
                                                    <p:commandButton id="selectButtonEndereco" update=":frmEmpreendimento:panelEndereco :frmEmpreendimento:messages" 
                                                                     icon="ui-icon-search" title="Visualizar // Editar">
                                                        <f:setPropertyActionListener value="#{empreendimentoEndereco}" target="#{empreendimentoBean.selectedEmpreendimentoEndereco}" />
                                                    </p:commandButton>
                                                </p:column>
                                            </p:dataTable>
                                            <br />
                                            <p:panelGrid id="displayEndereco" style="width: 100%">
                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* C.E.P.:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:inputMask id="inCep" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.codLogradouro.numCep}"  
                                                                     mask="99999-999" readonly="true" style="width:200px; font-weight:bold;" />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="Logradouro:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:inputText id="inLogradouro" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.codLogradouro.dscLogradouro}" 
                                                                     readonly="true" style="width:500px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* Numero:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inNumero" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.numEndereco}" maxlength="20" style="width:100px; font-weight:bold;" />
                                                    </p:column>

                                                    <p:column>
                                                        <h:outputText value="Complemento:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inComplemento" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.dscComplemento}" 
                                                                     style="width:400px; font-weight:bold; " maxlength="50" />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="Bairro:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:inputText id="inBairro" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.codLogradouro.codBairro.dscBairro}" 
                                                                     readonly="true" style="width:400px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="Cidade:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inCidade" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.codLogradouro.codBairro.codCidade.dscCidade}" 
                                                                     readonly="true" style="width:300px; font-weight:bold; " />
                                                    </p:column>
                                                    <p:column>
                                                        <h:outputText value="U.F." />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inUf" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.codLogradouro.codBairro.codCidade.codUf.codUf}" 
                                                                     readonly="true" style="width:50px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* No. Contribuinte:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:inputMask mask="999.999.9999-9" id="inContribuinte" value="#{empreendimentoBean.selectedEmpreendimentoEndereco.numContribuinte}" maxlength="50"  style="font-weight:bold; " />
                                                    </p:column>
                                                </p:row>
                                            </p:panelGrid>
                                        </p:panel>
                                    </p:fieldset>
                                </p:column>
                                <!-- ENDERECO -->
                            </p:row>

                            <f:facet name="footer">
                                <p:row>
                                    <!-- PROCESSO -->
                                    <p:column colspan="6" style="text-align: center;">
                                        <p:panel id="panelProcesso" header="Definição dos Processos">
                                            <p:dataTable id="processoTable" var="processo" value="#{empreendimentoBean.lazyEmpreendimentoLoteTransferencia}" 
                                                         filterEvent="enter" paginator="true" rows="2" paginatorPosition="top" rowKey="#{processo.idEmpreendimentoLote}" 
                                                         emptyMessage="Nenhum Registro Retornado ..." selection="#{empreendimentoBean.empreendimentoLoteTransferencia}">

                                                <p:column selectionMode="multiple" style="width:2%" />

                                                <p:column style="text-align: left; " sortBy="#{processo.idAssunto.dscAssunto}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">Assunto</div>
                                                    </f:facet>
                                                    <h:outputText value="#{processo.idAssunto.dscAssunto}" />
                                                </p:column>

                                                <p:column styleClass="processo" style="text-align: left; " sortBy="#{processo.numProcesso}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">No.Processo</div>
                                                    </f:facet>
                                                    <h:outputText value="#{processo.numProcesso}" />
                                                </p:column>

                                                <p:column style="width: 300px; text-align: left; " sortBy="#{processo.dscOrgao}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">Orgão</div>
                                                    </f:facet>
                                                    <h:outputText value="#{processo.dscOrgao}" />
                                                </p:column>

                                                <p:column style="text-align: center;" headerText="Data do Protocolo" sortBy="#{processo.datProcesso}">
                                                    <h:outputText value="#{processo.datProcesso}">
                                                        <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy"/>
                                                    </h:outputText>
                                                </p:column>

                                                <p:column style="text-align: center;" headerText="Data Atualização" sortBy="#{processo.datUpdateLote}">
                                                    <h:outputText value="#{processo.datUpdateLote}">
                                                        <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy HH:mm:ss"/>
                                                    </h:outputText>
                                                </p:column>

                                                <p:column style="text-align: left; " sortBy="#{processo.dscPrioridade}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">Prioridade</div>
                                                    </f:facet>
                                                    <h:outputText value="#{processo.dscPrioridade}" />
                                                </p:column>

                                                <p:column style="text-align: left; " sortBy="#{processo.dscStatus}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">Status do Processo</div>
                                                    </f:facet>
                                                    <h:outputText value="#{processo.dscStatus}" />
                                                </p:column>

                                                <p:column style="text-align: left; " sortBy="#{processo.dscTipoStatus}">
                                                    <f:facet name="header">
                                                        <div style="text-align: center">Tipo</div>
                                                    </f:facet>
                                                    <h:outputText value="#{processo.dscTipoStatus}" />
                                                </p:column>
                                            </p:dataTable>
                                        </p:panel>
                                    </p:column>
                                    <!-- PROCESSO -->
                                </p:row>
                            </f:facet>
                        </p:panelGrid> 
                        <p:dataTable id="EmpreendimentoTable" var="empreendimentoTransf" value="#{empreendimentoBean.lazyEmpreendimentoTransferencia}" 
                                     filterEvent="enter" paginator="true" rows="5" paginatorPosition="top" rowKey="#{empreendimentoTransf.idEmpreendimento}"
                                     emptyMessage="Nenhum Registro Retornado ..." selection="#{empreendimentoBean.empreendimentoTransferencia}">

                            <p:column selectionMode="single" style="width:2%" />

                            <p:column style="text-align: left; " filterBy="#{empreendimentoTransf.dscEmpreendimento}" sortBy="#{empreendimentoTransf.dscEmpreendimento}">
                                <f:facet name="header">
                                    <div style="text-align: center">Empreendimento</div>
                                </f:facet>
                                <h:outputText value="#{empreendimentoTransf.dscEmpreendimento}" />
                            </p:column>

                            <p:column style="text-align: left; " filterBy="#{empreendimentoTransf.idCliente.nomCliente}" sortBy="#{empreendimentoTransf.idCliente.nomCliente}">
                                <f:facet name="header">
                                    <div style="text-align: center">Razão Social // Nome</div>
                                </f:facet>
                                <h:outputText value="#{empreendimentoTransf.idCliente.nomCliente}"/>
                            </p:column>

                            <p:column style="text-align: left; " filterBy="#{empreendimentoTransf.idCliente.nomFantasia}" sortBy="#{empreendimentoTransf.idCliente.nomFantasia}">
                                <f:facet name="header">
                                    <div style="text-align: center">Nome Fantasia / Sobrenome</div>
                                </f:facet>
                                <h:outputText value="#{empreendimentoTransf.idCliente.nomFantasia}"/>
                            </p:column>
                        </p:dataTable>
                        <br />
                        <p:commandButton icon="ui-icon-document" value="Efetuar Transferencia" onclick="PF('confirmation').show();" update=":frmEmpreendimento:multiProcessoDetail" />

                        <p:commandButton icon="ui-icon-closethick" value="Fechar" onclick="PF('empreendimentoDialog').hide();" title="Fecha Janela dos Empreendimentos!" />

                        <!-- CONFIRMA TRANSFERENCIA DOS PROCESSOS -->
                        <p:dialog header="Confirma a Transferencia dos Processos?" widgetVar="confirmation"> 
                            <p:outputPanel id="multiProcessoDetail">
                                <p:panelGrid>
                                    <f:facet name="header">
                                        <p:row>
                                            <p:column colspan="2">Origem da Transferencia</p:column>
                                        </p:row>
                                    </f:facet>
                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Cliente:" /> 
                                        </p:column>
                                        <p:column style="font-weight:bold;">
                                            <h:outputText value="#{empreendimentoBean.selectedEmpreendimento.idCliente.nomCliente}" /> 
                                        </p:column>
                                    </p:row>
                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Empreendimento:" /> 
                                        </p:column>
                                        <p:column style="font-weight:bold;">
                                            <h:outputText value="#{empreendimentoBean.selectedEmpreendimento.dscEmpreendimento}" /> 
                                        </p:column>
                                    </p:row>
                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Processos:" /> 
                                        </p:column>
                                        <p:column style="font-weight:bold;">
                                            <ui:repeat value="#{empreendimentoBean.empreendimentoLoteTransferencia}" var="processos">
                                                <h:outputText value="#{processos.numProcesso} - #{processos.idAssunto.dscAssunto}" style="display:block"/>
                                            </ui:repeat> 
                                        </p:column>
                                    </p:row>
                                </p:panelGrid>
                                <br />
                                <p:panelGrid style="width: 100%;">
                                    <f:facet name="header">
                                        <p:row>
                                            <p:column colspan="2">Destino da Transferencia</p:column>
                                        </p:row>
                                    </f:facet>
                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Cliente:" /> 
                                        </p:column>
                                        <p:column style="font-weight:bold;">
                                            <h:outputText value="#{empreendimentoBean.empreendimentoTransferencia.idCliente.nomCliente}" /> 
                                        </p:column>
                                    </p:row>
                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Empreendimento:" /> 
                                        </p:column>
                                        <p:column style="font-weight:bold;">
                                            <h:outputText value="#{empreendimentoBean.empreendimentoTransferencia.dscEmpreendimento}" /> 
                                        </p:column>
                                    </p:row>
                                </p:panelGrid>
                                <p:commandButton value="Sim" update=":frmEmpreendimento:messages" 
                                                 oncomplete="handleEmpreendimentoRequest(xhr, status, args)"
                                                 actionListener="#{empreendimentoBean.efetuaTransferencia}" process="@all" />  
                                <p:commandButton value="Não" onclick="PF('confirmation').hide();" type="button" />   
                            </p:outputPanel>
                        </p:dialog>
                    </p:panel>
                </p:dialog>
            </p:panel>
        </h:form>
    </ui:define>
</ui:composition> 